iT邦幫忙

2025 iThome 鐵人賽

DAY 28
0
DevOps

從零開始的 graylog 探險系列 第 28

Day 28: Docker 環境下 Graylog 版本升級實戰

  • 分享至 

  • xImage
  •  

在完成升級前評估與準備工作後,接下來將進行實際的 Docker 環境升級操作。本篇將示範如何將 Docker Compose 部署的 Graylog 安全升級至 6.3 版本。

備份作業

在開始升級前,必須進行完整的備份作業以確保資料安全。​

停止服務並備份 MongoDB

# 備份 MongoDB 資料 - 使用與當前環境相容的版本
docker run --rm -v graylog_mongodb_data:/data/db \
  -v $(pwd)/backup:/backup \
  mongo:7.0 \
  mongodump --db=graylog --archive=/backup/graylog-$(date +%Y%m%d).archive

版本選擇說明:根據 Graylog 6.3 的相容性矩陣,支援 MongoDB 5.0.7 至 8.x 版本。建議使用 mongo:7.0 映像檔進行備份與還原操作,以確保與目標環境的相容性。若目前使用的是 MongoDB 5.0.13,也可以使用相同版本的映像檔來執行備份操作。

備份 Graylog 資料目錄

# 備份 Graylog 資料與設定
tar -czf graylog-data-$(date +%Y%m%d).tar.gz \
  graylog_data/ graylog_journal/ docker-compose.yml .env

匯出 Content Packs

透過 Web 介面匯出所有自訂的 Content Packs 作為設定備份,這包含了 Streams、Extractors、Pipelines 等重要配置。

升級執行步驟

修改 Docker Compose 設定

更新 docker-compose.yml.env 檔案中的版本標籤:

# 在 .env 檔案中更新版本
GRAYLOG_IMAGE="graylog/graylog:6.3"

或直接在 docker-compose.yml 中修改:

graylog:
  image: "graylog/graylog:6.3"

拉取新版映像檔並重啟

# 拉取最新映像檔
docker compose pull

# 重新啟動服務
docker compose up -d

Docker Compose 會自動處理容器的重建,使用新版本的映像檔。

升級後驗證

檢查服務狀態

# 檢查所有容器狀態
docker compose ps

# 檢查 Graylog 日誌
docker compose logs graylog

確認版本資訊

登入 Graylog Web 介面,在「System」→「Overview」中確認版本已成功升級至 6.3。

驗證功能正常

  • 檢查日誌收集是否正常運作
  • 確認 Streams 和 Dashboard 顯示正確
  • 測試告警功能是否正常

清理作業

升級成功後,可以清理舊版映像檔以釋放磁碟空間:

# 清理未使用的映像檔
docker image prune -f

# 檢視目前映像檔清單
docker images

故障排除

若升級過程中遇到問題,可以快速回復到備份狀態:

# 停止服務
docker compose down

# 恢復 MongoDB 資料
docker run --rm -v graylog_mongodb_data:/data/db \
  -v $(pwd)/backup:/backup \
  mongo:7.0 \
  mongorestore --archive=/backup/graylog-$(date +%Y%m%d).archive

# 恢復資料目錄
tar -xzf graylog-data-$(date +%Y%m%d).tar.gz

# 重新啟動服務
docker compose up -d

升級完成檢查清單

升級完成後,建議進行以下最終檢查:

  • 版本確認:Web 介面顯示 Graylog 6.3
  • 日誌收集:確認各種輸入源正常運作
  • 搜尋功能:測試日誌搜尋與過濾功能
  • 告警系統:驗證告警規則是否正常觸發
  • 效能監控:觀察系統資源使用情況

透過 Docker Compose 進行 Graylog 升級相對簡潔,主要風險在於版本相容性問題。因此完整的備份策略和逐步驗證是確保升級成功的關鍵要素。


上一篇
Day 27: Graylog 升級準備與評估 (下)
下一篇
Day 29: 異常檢測
系列文
從零開始的 graylog 探險30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言